The present invention pertains generally to routing in interconnected networks, such as the Internet, and more particularly to traffic route selections for multi-homed (connected to two or more networks) locations like data centers (DC).
As part of the Digital Revolution, communication technologies have given rise to a wide range of online services for both individuals and organizations via the Internet and other interconnected networks. Network routing protocols play a critical role in those networks to effectively (but not necessarily efficiently) move traffic from any source to any destination. The core routing decisions on the Internet are made by the Border Gateway Protocol (BGP) as specified in the Internet Engineering Task Force Request for Comments (IETF RFC) 4271, which uses routing tables to determine reachability among autonomous systems and make route selections. BGP guarantees that the traffic will go through the shortest path route to reach its destination, however, it does not guarantee that the route is optimal in terms of performance (e.g. latency, loss, and other factors).
The BGP decision process, as described in Section 9.1 of the RFC, has an elaborate decision tree to determine the degree of preference for each reachable route. While the specification of preconfigured policy information is considered a local matter, for routes received from external peers, a metric called AS_PATH length is used as the key criterion for the route selection. As further specified in Section 9.1.2.2 ‘Breaking Ties (Phase 2)’, BGP looks at several metrics when deciding a path to choose, AS_PATH, origin attribute, MULTI_EXIT_DISC, next hop cost, and so on, but does not make decisions based on actual path performance.
The AS_PATH counts how many networks a path crosses on its way to the end user. When BGP makes a decision based on the AS_PATH metric it is doing so blind to the actual performance of the paths. Thus, although BGP is the canonical standard for routing global Internet traffic, it is a less than optimal solution for routing traffic from multi-homed locations or data centers if performance is important.